new Vue({
    el:"#app",
    data: {
        fullscreenLoading:false,
        screenLoading:false,
        adData:[],
        dialogFormVisible: false,
        queryContent:{
            cateId:null,
            keyword:''
        },
        pageNo: 1,
        pageSize: 15,
        total: 0,
        pages: 0,
        isUsed:null,
        id:null,
        dialogVisible: false,
        dialogImageUrl: '',
        cateList:[]
    },
    mounted:function(){
        var _this=this;
        _this.loadAdList();
        _this.loadCateList();
    },
    methods:{
        trim:function(str){
            if(isNaN(str)){
                return str.replace(/(^\s*)|(\s*$)/g, "");
            }else{
                return str
            }
        },
        loadAdList:function () {
            var _this = this;
            _this.screenLoading=true;
            var cateId = null;
            if(_this.queryContent.cateId != null && _this.queryContent.cateId != "") {
                cateId = parseInt(_this.queryContent.cateId);
            }
            axios.get(request_prefix+"/cash/ad/list",{
                params: {
                    currentPage:_this.pageNo,
                    keyword:_this.queryContent.keyword,
                    cateId: cateId
                }
            })
                .then(function(res){
                    if(res.data.code===0){
                        _this.pageNo = parseInt(res.data.data.pageNo);
                        _this.total = parseInt(res.data.data.total);
                        _this.pageSize = parseInt(res.data.data.pageSize);
                        _this.pages = parseInt(res.data.data.pages);
                        _this.adData = res.data.data.dataList;
                        _this.screenLoading = false;
                        return;
                    }else{
                        _this.screenLoading=false;
                        _this.$message.error("获取数据失败");
                        return;
                    }
                })
                .catch(function(res){
                    _this.screenLoading=false;
                    _this.$message.error("请求失败");
                    return;
                })
        },
        loadCateList:function () {
          var _this = this;
          axios.get(request_prefix + "/cash/adCate/list")
              .then(function (res) {
                  if(res.data.code === 0) {
                      _this.cateList = res.data.data;
                  } else {
                      _this.$message.error(res.data.message);
                  }
              })
              .catch(function (res) {
                  _this.$message.error("请求过程中发生错误");
              })
        },
        resetQuery:function () {
            var _this = this;
            _this.queryContent.keyword = '';
            _this.queryContent.cateId = '';
            _this.pageNo = 1;
            _this.loadAdList();
        },
        //分页
        handleCurrentChange:function(val) {
            var _this=this;
            _this.screenLoading=true;
            axios.get(request_prefix+"/cash/ad/list",{
                params: {
                    currentPage:_this.pageNo,
                    keyword:_this.queryContent.keyword
                }
            })
                .then(function(res){
                    if(res.data.code===0){
                        _this.pageNo = parseInt(res.data.data.pageNo);
                        _this.total = parseInt(res.data.data.total);
                        _this.pageSize = parseInt(res.data.data.pageSize);
                        _this.pages = parseInt(res.data.data.pages);
                        _this.adData = res.data.data.dataList;
                        _this.screenLoading=false;
                    }else{
                        _this.$message.error("请求数据失败");
                        _this.screenLoading=false;
                    }
                })
                .catch(function(res){
                    _this.$message.error("请求失败");
                    _this.screenLoading=false;
                })
        },
        changeStatus:function (id,isUsed) {
            var _this = this;
            _this.id = parseInt(id);
            _this.isUsed = parseInt(isUsed);
            _this.dialogFormVisible = true;
        },
        confirmChange:function () {
            var _this = this;
            _this.screenLoading=true;
            var data=new URLSearchParams();
            data.append("id",_this.id);
            var isUsed = _this.isUsed;
            if(isUsed === 0) {
                isUsed = 1;
            } else {
                isUsed = 0;
            }
            data.append("isUsed",isUsed);
            axios.post(request_prefix+"/cash/ad/updateUseStatus",data)
                .then(function (res) {
                    if(res.data.code === 0) {
                        for (var i = 0;i < _this.adData.length;i++) {
                            if(parseInt(_this.adData[i].id) === _this.id) {
                                _this.adData[i].isUsed = isUsed+'';
                                _this.isUsed = null;
                                _this.id = null;
                            }
                        }
                        _this.dialogFormVisible = false;
                        _this.screenLoading = false;
                    } else {
                        _this.screenLoading = false;
                        _this.$message.error("状态改变失败");
                    }
                })
                .catch(function (res) {
                    _this.screenLoading=false;
                    _this.$message.error("请求失败");
                })
        },
        toNewPage:function () {
            window.location.href = request_prefix+"/cash/ad/createPage";
        },
        toEditPage:function (id) {
            localStorage.setItem("ad_id_",id);
            window.location.href = request_prefix+"/cash/ad/editPage";
        },
        toCateList:function () {
            window.location.href = request_prefix + "/cash/adCate/listPage";
        },
        /*图片预览*/
        previewAdImg:function (url) {
            var _this = this;
            _this.dialogImageUrl = url;
            _this.dialogVisible = true;
        }
    }
});